home *** CD-ROM | disk | FTP | other *** search
/ PC World 2007 June / PCWorld_2007-06_cd.bin / v cisle / tclock / tclocklight-040702-3.exe / source / dll / userstr.c < prev    next >
C/C++ Source or Header  |  2004-06-29  |  1KB  |  53 lines

  1. /*-------------------------------------------------------------
  2.   userstr.c : user strings in format
  3.   (C) 1997-2003 Kazuto Sato
  4.   Please read readme.txt about the license.
  5.   
  6.   Written by Kazubon, Nanashi-san
  7. ---------------------------------------------------------------*/
  8.  
  9. #include "tcdll.h"
  10.  
  11. /* Globals */
  12. void InitUserStr(void);
  13. void UStrHandler(FORMATHANDLERSTRUCT* pstruc);
  14.  
  15. // user string
  16. wchar_t g_userstr[10][BUFSIZE_USTR];
  17.  
  18. // strings to be replaced / appended
  19. wchar_t g_sdisp1[BUFSIZE_DISP] = { 0 }, g_sdisp2[BUFSIZE_DISP] = { 0 };
  20. wchar_t g_scat1[BUFSIZE_DISP] = { 0 }, g_scat2[BUFSIZE_DISP] = { 0 };
  21.  
  22. /*------------------------------------------------
  23.   initialize
  24. --------------------------------------------------*/
  25. void InitUserStr(void)
  26. {
  27.     int i;
  28.     
  29.     for(i = 0; i < 10; i++) g_userstr[i][0] = 0;
  30.     
  31.     g_sdisp1[0] = g_sdisp2[0] = g_scat1[0] = g_scat2[0] = 0;
  32. }
  33.  
  34. /*------------------------------------------------
  35.   format handler
  36. --------------------------------------------------*/
  37. void UStrHandler(FORMATHANDLERSTRUCT* pstruc)
  38. {
  39.     const wchar_t *p;
  40.     int n;
  41.     
  42.     pstruc->sp += 4;
  43.     n = *pstruc->sp - '0';
  44.     if(0 <= n && n <= 9)
  45.     {
  46.         pstruc->sp++;
  47.         
  48.         p = g_userstr[n];
  49.         while(*p && *pstruc->dp) *pstruc->dp++ = *p++;
  50.     }
  51. }
  52.  
  53.